1. Field of the Invention
The present invention relates generally to buffers. It relates more particularly to a fixed length circular buffer wherein samples are added at one end and samples are removed from the other end.
2. Art Background
Specialized filters generally require a buffer that holds the number of the most recent samples that have been passed through the system, where the number of the most recent samples is a fixed integer. Buffers of fixed length which add samples at one end and remove samples from the other end are known as circular buffers or ring buffers. Circular buffers have been implemented in hardware addressing systems in some digital signal processors, by special address registers, which address memory such that if the address pointer is at the end of the buffer and is incremented, instead of going to the next physical address it moves back to the beginning of the buffer. If the address pointer is at the beginning of the buffer, and is decremented, it automatically moves to the end.
However, the type of functionality available in hardware implemented buffers is not available in a general purpose processor or in a high level language.
Therefore, there has been a need existing for a system which is capable of providing the functionality of a hardware implemented buffer in a general purpose processor or high level language. The present invention fulfills those needs.